热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

更多|都会_Safari重返Windows系统?

篇首语:本文由编程笔记#小编为大家整理,主要介绍了Safari重返Windows系统?相关的知识,希望对你有一定的参考价值。【

篇首语:本文由编程笔记#小编为大家整理,主要介绍了Safari重返Windows系统?相关的知识,希望对你有一定的参考价值。




【CSDN 编者按】提起Safari浏览器,很多人的都会认为它是苹果用户的专属。其实很多年前,在Windows系统上也能够使用Safari浏览器,到2012年苹果团队才停止开发Windows版的Safari。近日,身为软件开发者的Corbin Davenport,提议让Safari重返Windows系统,以及其他更多的平台。这是为什么呢?一起来看看吧。


原文链接:https://www.xda-developers.com/safari-for-windows-editorial/

本文由CSDN翻译,转载请注明来源出处。

译者 | 章雨铭 责编 | 屠敏

出品 | CSDN(ID:CSDNnews)

以下为译文:

过去十年,网络发生了巨变:网络应用变得更加普遍,算法决定了大多数人接受信息的方式,如今全球大概有数十亿人在使用互联网。谷歌也逐渐成为科技巨头,并且开始在网络生态系统和浏览器市场中占据主导地位。在这种情况下,我思考了很久,想出一个能够稍微削减谷歌的权力办法:让苹果再次将Safari浏览器实现跨平台。

可能有人还记得,Safari浏览器曾经适用于微软的Windows系统(2007年),当然也同样适用于各类的苹果产品,比如macOS(当时称为Mac OS X)以及后来的iPhone和iPad。但是,苹果早在2012年就停止了对Windows版本的Safari浏览器的开发。如果现在让Safari浏览器重返Windows系统,没准能和谷歌的Chrome浏览器匹敌。


Safari之Windows系统体验

2003年1月,苹果发布了Safari浏览器的第一个版本,成为Mac OS X 10.3 Panther 的默认浏览器。在此之前,微软和苹果达成了五年的协议,将IE作为Mac的默认网络浏览器。尽管Safari浏览器是新发布的,但其技术并不是最新的——苹果以Khtml渲染引擎为起点,创建了Safari的WebKit引擎。

Safari浏览器最初是Mac专用的,到了2007年,第一部iPhone发布,Safari浏览器也成为其默认浏览器。同年,Windows上第一个版本Safari 3.0发布,然而其在Windows上的表现并不是很好,最初发布版本包括一个任意代码执行的安全漏洞,不到48小时,Safari 3.0.1就打上了补丁。



Windows上的Safari 3.0测试版(图片来源:NetworkComputing.com)

Safari似乎在Windows适应的并不是很好。苹果在Safari的移植中使用了与iTunes相同的(糟糕的)兼容层,它在Windows之上重新实现了Cocoa UI、Core Foundation、Core Graphics库——这就像在Linux上使用Wine来运行Windows程序。虽然仍然可以工作,但是不符合其主机操作系统的设计和预期功能。

尽管存在一些安全问题和可疑的软件架构,Windows版本的Safari仍然是一个不错的浏览器。据苹果宣传,它的速度是IE 7的两倍,是Mozilla Firefox 2的1.6倍(据说两者都是在配有Windows XP和1GB内存的Intel Core 2 Duo系统上测试的)。

此后,苹果继续为Mac和Windows发布新的Safari版本。但是到了2012年,Safari 6.0发布时,却没有Windows版本。苹果甚至还悄悄删除了Windows Safari的下载链接,似乎标志着Safari在非苹果平台上的落幕。


卷土重来

快进到2022年,网络生态系统在许多方面都有所改善,但也远非完美。网络应用的表现更出彩,主要归功于谷歌浏览器中新API的加速发展。谷歌对现在Web浏览器的发展有着重大的影响——Opera和微软放弃了对自己的渲染引擎的开发,转而使用相同谷歌Chromium引擎,而像Brave和Vivaldi这样较新的竞争者则从一开始就使用Chromium。

基于Chromium的网络浏览器能够对浏览器界面和引擎进行修改,谷歌并没有完全控制它们的工作方式。不过只要稍微远离谷歌的上游代码,就会发现采用Chromium的新更改变得更加耗时。这增加了开发工作的困难,更关键的是,这可能导致Chromium的安全补丁需要很长时间才能在一些浏览器上显示出来。比如,安卓的Kiwi浏览器,已经被卡在Chrome 77上一年多了。

网络需要平衡各种力量,以保持一个开放的平台,现在只有两个不基于Chromium的主要Web浏览器:火狐和苹果的Safari。火狐浏览器使用自己的Gecko引擎,近年来在性能上有了明显的改善。Safari仍然使用WebKit,虽然Safari受欢迎的主要原因是因为它是ios和iPadOS上的默认浏览器,但近年来,它已经成为Chrome的竞争对手。如果苹果将Safari带到更多平台上,就可以从Chrome和其他基于Chromium的浏览器中拿回一些市场份额。

去年有一篇博客中指出,苹果仍然支持Windows上的WebKit引擎,主要用于嵌入式应用和微软的Playright测试平台。较新的版本甚至放弃了基于iTunes的兼容层,而采用了跨平台的Cairo图形库。然而,这些WebKit构建仅用于网站测试,并不具备常见的浏览器功能,如同步、标签或扩展。



Windows上的Playwright WebKit

苹果将Safari浏览器移植到更多平台上,除了为了开放网络的健康外,还有其他原因。有数百万人使用iPhone或者iPad,但是使用Windows系统的人比使用Mac的要多。虽然保持Safari在macOS上的独占性可能会鼓励一些人购买Mac,但是如果让Safari在Windows(和其他平台)使用,可以增加苹果硬件的未来购买数——就像二十年前Windows的原始iTunes一样。谷歌也因此获利,Chromebook的销售得益于Chrome浏览器的普及,而Chrome浏览器本身也使Chrome更受欢迎。

近年来,苹果也更愿意将其服务和应用带到其他平台,即使方式很有限,比如iCloud可用于Windows、iCloud网络应用可在大多数网络浏览器中使用、FaceTime通话现在可以通过链接从非苹果设备加入等等。

Windows版Safari浏览器可以给Chromium浏览器带来一些亟需的竞争,同时也为苹果设备开辟了更多的连接体验。苹果仍有很多理由不这样做,但我仍然期待其发生。

你支持Safari浏览器重新在Windows上发布吗?欢迎留言告诉我们。


推荐阅读
  • 网站访问全流程解析
    本文详细介绍了从用户在浏览器中输入一个域名(如www.yy.com)到页面完全展示的整个过程,包括DNS解析、TCP连接、请求响应等多个步骤。 ... [详细]
  • Requests库的基本使用方法
    本文介绍了Python中Requests库的基础用法,包括如何安装、GET和POST请求的实现、如何处理Cookies和Headers,以及如何解析JSON响应。相比urllib库,Requests库提供了更为简洁高效的接口来处理HTTP请求。 ... [详细]
  • 本文详细介绍了在PHP中如何获取和处理HTTP头部信息,包括通过cURL获取请求头信息、使用header函数发送响应头以及获取客户端HTTP头部的方法。同时,还探讨了PHP中$_SERVER变量的使用,以获取客户端和服务器的相关信息。 ... [详细]
  • 浏览器作为我们日常不可或缺的软件工具,其背后的运作机制却鲜为人知。本文将深入探讨浏览器内核及其版本的演变历程,帮助读者更好地理解这一关键技术组件,揭示其内部运作的奥秘。 ... [详细]
  • 2023年1月28日网络安全热点
    涵盖最新的网络安全动态,包括OpenSSH和WordPress的安全更新、VirtualBox提权漏洞、以及谷歌推出的新证书验证机制等内容。 ... [详细]
  • 如何高效学习鸿蒙操作系统:开发者指南
    本文探讨了开发者如何更有效地学习鸿蒙操作系统,提供了来自行业专家的建议,包括系统化学习方法、职业规划建议以及具体的开发技巧。 ... [详细]
  • 本文探讨了如何通过优化 DOM 操作来提升 JavaScript 的性能,包括使用 `createElement` 函数、动画元素、理解重绘事件及处理鼠标滚动事件等关键主题。 ... [详细]
  • 本文详细介绍了如何使用 CSS3 的 background-clip 和 background-origin 属性来裁剪和定位背景图片,以及如何通过 background-size 控制背景图片的尺寸。 ... [详细]
  • 开发笔记:前端之前端初识
    开发笔记:前端之前端初识 ... [详细]
  • 本文介绍了如何使用Python爬取妙笔阁小说网仙侠系列中所有小说的信息,并将其保存为TXT和CSV格式。主要内容包括如何构造请求头以避免被网站封禁,以及如何利用XPath解析HTML并提取所需信息。 ... [详细]
  • 本文详细探讨了使用Python3编写爬虫时如何应对网站的反爬虫机制,通过实例讲解了如何模拟浏览器访问,帮助读者更好地理解和应用相关技术。 ... [详细]
  • 本文探讨了在使用 MyBatis 进行批量数据处理时遇到的参数绑定异常问题,并提供了详细的解决方案。 ... [详细]
  • Linux内核中的内存反碎片技术解析
    本文深入探讨了Linux内核中实现的内存反碎片技术,包括其历史发展、关键概念如虚拟可移动区域以及具体的内存碎片整理策略。旨在为开发者提供全面的技术理解。 ... [详细]
  • Java中提取字符串的最后一部分
    本文介绍了如何使用Java中的substring()和split()方法来提取字符串的最后一部分,特别是在处理包含特殊字符的路径时的方法与技巧。 ... [详细]
  • 本文提供了一个关于AC自动机(Aho-Corasick Algorithm)的详细解析与实现方法,特别针对P3796题目进行了深入探讨。文章不仅涵盖了AC自动机的基本概念,还重点讲解了如何通过构建失败指针(fail pointer)来提高字符串匹配效率。 ... [详细]
author-avatar
张浩杰_Hh
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有